import java.util.*;

public class Main {
    //数组排序1：sort升序
    public static void main1(String[] args) {
        int []a = {9,8,7,6,5,4,3,2,1,0};
        Arrays.sort(a);
        for(int x:a) {
            System.out.print(x+" ");
        }
    }
    //数组排序2：Comparator接口实现降序
    public static void main2(String[] args) {
        //不能使用基本数据类型
        Integer[] arr = {5,4,9,2,12,54,21,1};
        Arrays.sort(arr,new Comparator<Integer>() {
            //重写compare方法
            public int compare(Integer a, Integer b) {
                //返回值>0交换
                return b-a;
            }
        });
        System.out.print(Arrays.toString(arr));//[54, 21, 12, 9, 5, 4, 2, 1]
    }
    //lambda实现升序
    public static void main3(String[] args) {
        //不能使用基本数据类型
        Integer[] arr = {5,4,9,2,12,54,21,1};
        Arrays.sort(arr,(o1,o2)->o1-o2);
        for(int x:arr) {
            System.out.print(x+" ");//1 2 4 5 9 12 21 54
        }
    }
    //Collections.sort(List<> arr)对集合升序排序
    public static void main4(String[] args) {
        List <Integer> list = new ArrayList<>();
        list.add(5);
        list.add(4);
        list.add(3);
        list.add(2);
        list.add(1);
        Collections.sort(list);
        for(int i=0;i<list.size();i++) {
            System.out.print(list.get(i)+" ");
        }
    }
    //Collections.sort(List<> arr,Comparator<T> c)对集合降序排序
    public static void main5(String[] args) {
        List <Integer> list = new ArrayList<>();
        list.add(5);
        list.add(4);
        list.add(3);
        list.add(2);
        list.add(1);
        Collections.sort(list,new Comparator<Integer>() {
            public int compare(Integer a,Integer b) {
                return b-a;
            }
        });
        for(int i=0;i<list.size();i++) {
            System.out.print(list.get(i)+" ");
        }
    }
    //Collections.sort(List<> arr,(o1,o2)->o2-o1)对集合降序排序
    public static void main(String[] args) {
        List <Integer> list = new ArrayList<>();
        list.add(5);
        list.add(4);
        list.add(3);
        list.add(2);
        list.add(1);
        Collections.sort(list,(o1,o2)->o2-o1);
        for(int i=0;i<list.size();i++) {
            System.out.print(list.get(i)+" ");
        }
    }
}
